Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>Value Object</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/Value_Object"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.pygments.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Value_Object rootpage-Value_Object skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Value Object</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><p>Das <b>Value Object</b> (auch <i>Wertobjekt</i>) ist ein in der Softwareentwicklung eingesetztes <a href="Entwurfsmuster" title="Entwurfsmuster">Entwurfsmuster</a>. Wertobjekte sind unveränderbare Objekte, die einen speziellen Wert repräsentieren. Soll der Wert geändert werden, so muss ein neues Objekt generiert werden.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> Das Entwurfsmuster wird dazu genutzt, Objektvergleiche auf deren Attributwerte zu beziehen, anstatt auf Objektidentität.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p>

<div class="mw-heading mw-heading2"><h2 id="Erklärung"><span id="Erkl.C3.A4rung"></span>Erklärung</h2></div>
<p>Für spezielle Werte kann es sinnvoll sein, diese als Objekte einer eigenen Klasse zu verwenden. Häufig verwendet wird dieses Entwurfsmuster beispielsweise für Geldbeträge oder Datumsangaben. Bei diesen komplexeren Datentypen können den jeweiligen Klassen von Beginn an eigene Methoden und Eigenschaften mitgegeben werden, die das spätere Arbeiten mit dem Wertobjekt vereinfachen.
</p><p>Wertobjekte haben, nach der Definition von Eric Evans<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>, drei fundamentale Eigenschaften:
</p>
<ul><li>Wertobjekte haben keine Identität</li>
<li>Wertobjekte sind nicht veränderbar</li>
<li>Wertobjekte werden immer in einem gültigen Zustand erzeugt</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Beispiele">Beispiele</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Datum">Datum</h3></div>
<p>Die Klasse "Datum" besitzt die Methoden "getYear()" und "getEuropeanDate()" – diese erleichtern den Umgang mit Objekten vom Typ "Datum".
</p>
<div class="mw-heading mw-heading3"><h3 id="Beispiel_(Java)"><span id="Beispiel_.28Java.29"></span>Beispiel (Java)</h3></div>
<ul><li>Wertobjekt-Klasse Money (Geld)</li></ul>
<div class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><pre><span></span><span class="kn">import</span><span class="w"> </span><span class="nn">java.math.BigDecimal</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">java.util.Currency</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">java.util.Objects</span><span class="p">;</span>

<span class="kd">public</span><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="kd">class</span> <span class="nc">Money</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="kd">private</span><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="n">BigDecimal</span><span class="w"> </span><span class="n">amount</span><span class="p">;</span>
<span class="w"> </span><span class="kd">private</span><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="n">Currency</span><span class="w"> </span><span class="n">currency</span><span class="p">;</span>

<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="nf">Money</span><span class="p">(</span><span class="n">BigDecimal</span><span class="w"> </span><span class="n">amount</span><span class="p">,</span><span class="w"> </span><span class="n">Currency</span><span class="w"> </span><span class="n">currency</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">Objects</span><span class="p">.</span><span class="na">requireNonNull</span><span class="p">(</span><span class="n">amount</span><span class="p">,</span><span class="w"> </span><span class="s">"amount should be not null"</span><span class="p">);</span>
<span class="w"> </span><span class="n">Objects</span><span class="p">.</span><span class="na">requireNonNull</span><span class="p">(</span><span class="n">currency</span><span class="p">,</span><span class="w"> </span><span class="s">"currency should be not null"</span><span class="p">);</span>
<span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="na">amount</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">amount</span><span class="p">;</span>
<span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="na">currency</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">currency</span><span class="p">;</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="n">BigDecimal</span><span class="w"> </span><span class="nf">getAmount</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="na">amount</span><span class="p">;</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="n">Currency</span><span class="w"> </span><span class="nf">getCurrency</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="na">currency</span><span class="p">;</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="n">Money</span><span class="w"> </span><span class="nf">add</span><span class="p">(</span><span class="n">Money</span><span class="w"> </span><span class="n">other</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">other</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="kc">null</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">other</span><span class="p">.</span><span class="na">currency</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="n">currency</span><span class="p">)</span><span class="w"> </span><span class="k">throw</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">IllegalArgumentException</span><span class="p">(</span><span class="s">"Can't add "</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">other</span><span class="p">);</span>
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Money</span><span class="p">(</span><span class="n">amount</span><span class="p">.</span><span class="na">add</span><span class="p">(</span><span class="n">other</span><span class="p">.</span><span class="na">amount</span><span class="p">),</span><span class="w"> </span><span class="n">currency</span><span class="p">);</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="nd">@Override</span>
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kt">boolean</span><span class="w"> </span><span class="nf">equals</span><span class="p">(</span><span class="n">Object</span><span class="w"> </span><span class="n">obj</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">obj</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="kc">null</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">getClass</span><span class="p">()</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="n">obj</span><span class="p">.</span><span class="na">getClass</span><span class="p">())</span>
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="kc">false</span><span class="p">;</span>
<span class="w"> </span><span class="n">Money</span><span class="w"> </span><span class="n">other</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">Money</span><span class="p">)</span><span class="w"> </span><span class="n">obj</span><span class="p">;</span>
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">amount</span><span class="p">.</span><span class="na">equals</span><span class="p">(</span><span class="n">other</span><span class="p">.</span><span class="na">amount</span><span class="p">)</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">currency</span><span class="p">.</span><span class="na">equals</span><span class="p">(</span><span class="n">other</span><span class="p">.</span><span class="na">currency</span><span class="p">);</span>
<span class="w"> </span><span class="p">}</span>
<span class="p">}</span>
</pre></div>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<ul><li><a rel="nofollow" class="external text" href="http://hillside.net/plop/2006/Papers/Library/ValueObject-%20vo5.pdf">Erklärung mit Beispielen</a> (PDF; englisch)</li>
<li><a rel="nofollow" class="external text" href="https://books.google.de/books?id=XPbGEtu47bkC&amp;pg=PA50&amp;lpg=PA50&amp;dq=wertobjekt+programmierung&amp;source=bl&amp;ots=d5FVLPbuSv&amp;sig=jXgNuQ0BVlRFx2m2u43tPBENNV8&amp;hl=de&amp;sa=X&amp;ved=0CDgQ6AEwBWoVChMIrOTEttHTxwIVhQ9yCh1K1Anm#v=onepage&amp;q=wertobjekt%20programmierung&amp;f=false">Erklärung mit Beispielen</a> (deutsch)</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2></div>
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://openbook.rheinwerk-verlag.de/oo/oo_04_strukturvonooprogrammen_003.htm">4.4 Klassen von Werten und Klassen von Objekten.</a> Rheinwerk Computing – Praxisbuch Objektorientierung; abgerufen am 31. August 2015</span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text">Karl Eilebrecht, Gernot Starke: <cite style="font-style:italic">Patterns kompakt</cite>. 4. Auflage. Springer Vieweg Verlag, Berlin 2013, ISBN 978-3-642-34717-7, <span style="white-space:nowrap">S.<span style="display:inline-block;width:.2em">&nbsp;</span>195–197</span>.<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rfr_id=info:sid/de.wikipedia.org:Value+Object&amp;rft.au=Karl+Eilebrecht%2C+Gernot+Starke&amp;rft.btitle=Patterns+kompakt&amp;rft.date=2013&amp;rft.edition=4&amp;rft.genre=book&amp;rft.isbn=9783642347177&amp;rft.pages=195-197&amp;rft.place=Berlin&amp;rft.pub=Springer+Vieweg+Verlag" style="display:none">&nbsp;</span></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.heise.de/developer/artikel/Einhaltung-von-Invarianten-mit-dem-Value-Object-Pattern-227222.html">heise.de - Einhaltung von Invarianten mit dem Value Object Pattern</a> Abgerufen am 28. März 2016.</span>
</li>
</ol>
<style data-mw-deduplicate="TemplateStyles:r261921266">
/* start https://de.wikipedia.org/ */


.mw-parser-output table.erw-nav-zebra>tbody>:nth-child(odd){background-color:var(--dewiki-hintergrundfarbe-basis)}.mw-parser-output .erw-nav-farbschema-blau .erw-nav-leiste{background-color:#f5f5f5}.mw-parser-output .erw-nav-farbschema-blau .erw-nav-gruppe{background-color:#e5ecf2}.mw-parser-output .erw-nav-farbschema-grau .erw-nav-leiste,.mw-parser-output .erw-nav-farbschema-grau .erw-nav-gruppe{background-color:#ececec}.mw-parser-output .erweiterte-navigationsleiste .klappleiste-inhalt>.wikitable>*>tr{border-top:2px solid #fdfdfd!important;border-bottom:2px solid #fdfdfd!important}@media screen{html.skin-theme-clientpref-night .mw-parser-output .erw-nav-farbschema-blau .erw-nav-leiste,html.skin-theme-clientpref-night .mw-parser-output .erw-nav-farbschema-blau .erw-nav-gruppe,html.skin-theme-clientpref-night .mw-parser-output .erw-nav-farbschema-grau .erw-nav-leiste,html.skin-theme-clientpref-night .mw-parser-output .erw-nav-farbschema-grau .erw-nav-gruppe{background-color:#202122}html.skin-theme-clientpref-night .mw-parser-output .erweiterte-navigationsleiste .klappleiste-inhalt .wikitable tr,html.skin-theme-clientpref-night .mw-parser-output .erweiterte-navigationsleiste .klappleiste-inhalt .wikitable td{border-color:#101418!important}html.skin-theme-clientpref-night .mw-parser-output .erw-nav-bild span[typeof="mw:File"] img{background-color:#c8ccd1}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .erw-nav-farbschema-blau .erw-nav-leiste,html.skin-theme-clientpref-os .mw-parser-output .erw-nav-farbschema-blau .erw-nav-gruppe,html.skin-theme-clientpref-os .mw-parser-output .erw-nav-farbschema-grau .erw-nav-leiste,html.skin-theme-clientpref-os .mw-parser-output .erw-nav-farbschema-grau .erw-nav-gruppe{background-color:#202122}html.skin-theme-clientpref-os .mw-parser-output .erweiterte-navigationsleiste .klappleiste-inhalt .wikitable tr,html.skin-theme-clientpref-os .mw-parser-output .erweiterte-navigationsleiste .klappleiste-inhalt .wikitable td{border-color:#101418!important}html.skin-theme-clientpref-os .mw-parser-output .erw-nav-bild span[typeof="mw:File"] img{background-color:#c8ccd1}}.mw-parser-output .erweiterte-navigationsleiste .hlist .wikitable{border-top:0px!important;border-bottom:0px!important;margin-top:0!important;margin-bottom:0!important}.mw-parser-output .erweiterte-navigationsleiste .hlist .wikitable tr:first-of-type td{border-top:0px!important}.mw-parser-output .erweiterte-navigationsleiste .hlist .wikitable tr:last-of-type td{border-bottom:0px!important}


/* end https://de.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r260755238">
/* start https://de.wikipedia.org/ */


.mw-parser-output div.klappleiste{border:1px solid var(--dewiki-rahmenfarbe1);clear:both;font-size:95%;box-sizing:border-box;margin-top:1.5em;padding:2px}.mw-parser-output div.klappleiste:after{clear:both;content:"";display:block}.mw-parser-output div.klappleiste-bild{float:left;padding:2px}.mw-parser-output div.klappleiste-kopf{background:var(--dewiki-hintergrundfarbe5);color:var(--color-base,#202122);text-align:center;font-weight:bold}.mw-parser-output div.klappleiste.mw-collapsed .klappleiste-bild{display:none}.mw-parser-output div.klappleiste+div.klappleiste,.mw-parser-output div.klappleiste+link+div.klappleiste,.mw-parser-output div.klappleiste+link+link+div.klappleiste,.mw-parser-output div.klappleiste+link+style+div.klappleiste,.mw-parser-output div.klappleiste+style+div.klappleiste,.mw-parser-output div.klappleiste+style+style+div.klappleiste,.mw-parser-output div.klappleiste+style+link+div.klappleiste{margin-top:-1px}@media screen{html.skin-theme-clientpref-night .mw-parser-output .klappleiste-bild span[typeof="mw:File"]:not(.skin-invert-image) img{background-color:#c8ccd1}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .klappleiste-bild span[typeof="mw:File"]:not(.skin-invert-image) img{background-color:#c8ccd1}}


/* end https://de.wikipedia.org/ */
</style>
<div class="klappleiste mw-collapsible navileiste erweiterte-navigationsleiste navigation-not-searchable center erw-nav-farbschema-blau" role="navigation">
<div class="klappleiste-kopf"><a href="Entwurfsmuster" title="Entwurfsmuster">Entwurfsmuster</a><div class="erweiterte-navigationsleiste-quicklinks" style="float:left; font-weight:normal; font-size:75%; margin-left:1em; margin-right:2em; display:none;"><span title="Vorlage anzeigen">V</span> – <span title="Diskussion anzeigen">D</span></div></div>
<div class="klappleiste-inhalt mw-collapsible-content" style="clear:left">
<table class="wikitable erw-nav-zebra" style="width:100%;margin:0;text-align:left;font-size:95%;margin-top:.1em;margin-bottom:.1em;">


<tbody><tr>
<td class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;border: 1px solid transparent;border-top: 1px solid #FFF;border-bottom: 2px solid #FFF;padding: 0 1em;"><b><a href="Erzeugungsmuster" title="Erzeugungsmuster">Erzeugungsmuster</a></b>
</td>
<td class="hlist" style="text-align: left;border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: 0 .25em;">
<p><a href="Abstrakte_Fabrik" title="Abstrakte Fabrik">Abstrakte Fabrik</a>&nbsp;| <a href="Erbauer_(Entwurfsmuster)" title="Erbauer (Entwurfsmuster)">Erbauer</a>&nbsp;| <a href="Fabrikmethode" title="Fabrikmethode">Fabrikmethode</a>&nbsp;| <a href="Prototyp_(Entwurfsmuster)" title="Prototyp (Entwurfsmuster)">Prototyp</a>&nbsp;| <a href="Singleton_(Entwurfsmuster)" title="Singleton (Entwurfsmuster)">Singleton</a>&nbsp;| <a href="Multiton" title="Multiton">Multiton</a>&nbsp;| <a href="Objektpool" title="Objektpool">Objektpool</a>
</p>
</td></tr>
<tr>
<td class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;border: 1px solid transparent;border-top: 1px solid #FFF;border-bottom: 2px solid #FFF;padding: 0 1em;"><b><a href="Strukturmuster" title="Strukturmuster">Strukturmuster</a></b>
</td>
<td class="hlist" style="text-align: left;border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: 0 .25em;">
<p><a href="Adapter_(Entwurfsmuster)" title="Adapter (Entwurfsmuster)">Adapter</a>&nbsp;| <a href="Br%C3%BCcke_(Entwurfsmuster)" title="Brücke (Entwurfsmuster)">Brücke</a>&nbsp;| <a href="Decorator" title="Decorator">Decorator</a>&nbsp;| <a href="Fassade_(Entwurfsmuster)" title="Fassade (Entwurfsmuster)">Fassade</a>&nbsp;| <a href="Fliegengewicht_(Entwurfsmuster)" title="Fliegengewicht (Entwurfsmuster)">Fliegengewicht</a>&nbsp;| <a href="Kompositum_(Entwurfsmuster)" title="Kompositum (Entwurfsmuster)">Kompositum</a>&nbsp;| <a href="Stellvertreter_(Entwurfsmuster)" title="Stellvertreter (Entwurfsmuster)">Stellvertreter</a>
</p>
</td></tr>
<tr>
<td class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;border: 1px solid transparent;border-top: 1px solid #FFF;border-bottom: 2px solid #FFF;padding: 0 1em;"><b><a href="Verhaltensmuster_(Software)" title="Verhaltensmuster (Software)">Verhaltensmuster</a></b>
</td>
<td class="hlist" style="text-align: left;border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: 0 .25em;">
<p><a href="Beobachter_(Entwurfsmuster)" title="Beobachter (Entwurfsmuster)">Beobachter</a>&nbsp;| <a href="Besucher_(Entwurfsmuster)" title="Besucher (Entwurfsmuster)">Besucher</a>&nbsp;| <a href="Interpreter_(Entwurfsmuster)" title="Interpreter (Entwurfsmuster)">Interpreter</a>&nbsp;| <a href="Iterator_(Entwurfsmuster)" title="Iterator (Entwurfsmuster)">Iterator</a>&nbsp;| <a href="Kommando_(Entwurfsmuster)" title="Kommando (Entwurfsmuster)">Kommando</a>&nbsp;| <a href="Memento_(Entwurfsmuster)" title="Memento (Entwurfsmuster)">Memento</a>&nbsp;| <a href="Schablonenmethode" title="Schablonenmethode">Schablonenmethode</a>&nbsp;| <a href="Strategie_(Entwurfsmuster)" title="Strategie (Entwurfsmuster)">Strategie</a>&nbsp;| <a href="Vermittler_(Entwurfsmuster)" title="Vermittler (Entwurfsmuster)">Vermittler</a>&nbsp;| <a href="Zustand_(Entwurfsmuster)" title="Zustand (Entwurfsmuster)">Zustand</a>&nbsp;| <a href="Zust%C3%A4ndigkeitskette" title="Zuständigkeitskette">Zuständigkeitskette</a>&nbsp;| <a href="Interceptor_(Entwurfsmuster)" title="Interceptor (Entwurfsmuster)">Interceptor</a>&nbsp;| <a href="Nullobjekt_(Entwurfsmuster)" title="Nullobjekt (Entwurfsmuster)">Nullobjekt</a>&nbsp;| <a href="Protokollstapel" title="Protokollstapel">Protokollstapel</a>
</p>
</td></tr>
<tr>
<td class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;border: 1px solid transparent;border-top: 1px solid #FFF;border-bottom: 2px solid #FFF;padding: 0 1em;"><b>Muster für <a href="Objektrelationale_Abbildung" title="Objektrelationale Abbildung">objekt-<br>relationale Abbildung</a></b>
</td>
<td class="hlist" style="text-align: left;border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: 0 .25em;">
<p><a href="Transferobjekt" title="Transferobjekt">Datentransferobjekt</a>&nbsp;| Table Data Gateway&nbsp;| Row Data Gateway&nbsp;| <a href="Active_Record" title="Active Record">Active Record</a>&nbsp;| <a href="Unit_of_Work" title="Unit of Work">Unit of Work</a>&nbsp;| Identity Map&nbsp;| <a href="Lazy_Loading" title="Lazy Loading">Lazy Loading</a>&nbsp;| Identity Field&nbsp;| Dependent Mapping&nbsp;| Embedded Value&nbsp;| Serialized LOB&nbsp;| Inheritance Mapper&nbsp;| Metadata Mapping&nbsp;| Query Object&nbsp;| <a href="Command-Query-Responsibility-Segregation" title="Command-Query-Responsibility-Segregation">Command-Query-Responsibility-Segregation</a>
</p>
</td></tr>
<tr>
<td class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;border: 1px solid transparent;border-top: 1px solid #FFF;border-bottom: 2px solid #FFF;padding: 0 1em;"><b><a href="Nachrichten%C3%BCbermittlungsmuster" title="Nachrichtenübermittlungsmuster">Nachrichten-<br>übermittlungsmuster</a></b>
</td>
<td class="hlist" style="text-align: left;border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: 0;">
<div class="Broken-NavContent">
<table class="wikitable erw-nav-zebra" style="width:100%;margin:0;text-align:left;border-collapse:collapse;">
<tbody><tr>
<td class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;border: 1px solid transparent;border-top: 1px solid #FFF;border-bottom: 2px solid #FFF;padding: 0 1em;"><b>Integrationsarten</b>
</td>
<td class="hlist" style="text-align: left;border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: 0 .25em;">
<p>File Transfer&nbsp;| Shared Database&nbsp;| Remote Procedure Invocation&nbsp;| Messaging
</p>
</td></tr>
<tr>
<td class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;border: 1px solid transparent;border-top: 1px solid #FFF;border-bottom: 2px solid #FFF;padding: 0 1em;"><b>Nachrichtenaufbau</b>
</td>
<td class="hlist" style="text-align: left;border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: 0 .25em;">
<p><a href="Message_(Entwurfsmuster)" title="Message (Entwurfsmuster)">Message</a>&nbsp;| <a href="Command_Message" title="Command Message">Command Message</a>&nbsp;| <a href="Document_Message" title="Document Message">Document Message</a>&nbsp;| <a href="Event_Message" title="Event Message">Event Message</a>&nbsp;| Request-Reply&nbsp;| Return Address&nbsp;| Correlation Identifier&nbsp;| Message Sequence&nbsp;| Message Expiration&nbsp;| Format Indicator
</p>
</td></tr>
<tr>
<td class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;border: 1px solid transparent;border-top: 1px solid #FFF;border-bottom: 2px solid #FFF;padding: 0 1em;"><b><a href="Teilnehmer_(Kommunikationssystem)" title="Teilnehmer (Kommunikationssystem)">Endpunkte</a></b>
</td>
<td class="hlist" style="text-align: left;border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: 0 .25em;">
<p>Message Endpoint&nbsp;| Messaging Gateway&nbsp;| Messaging Mapper&nbsp;| Transactional Client&nbsp;| Polling Consumer&nbsp;| Event-driven Consumer&nbsp;| Competing Consumers&nbsp;| Message Dispatcher&nbsp;| Selective Consumer&nbsp;| Durable Subscriber&nbsp;| Idempotent Receiver&nbsp;| Service Activator
</p>
</td></tr>
<tr>
<td class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;border: 1px solid transparent;border-top: 1px solid #FFF;border-bottom: 2px solid #FFF;padding: 0 1em;"><b><a href="Kanal_(Informationstheorie)" title="Kanal (Informationstheorie)">Kanäle</a></b>
</td>
<td class="hlist" style="text-align: left;border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: 0 .25em;">
<p>Message Channel&nbsp;| Point-to-Point Channel&nbsp;| Publisher-Subscriber Channel&nbsp;| Datatype Channel&nbsp;| Invalid Message Channel&nbsp;| Dead Letter Channel&nbsp;| Guaranteed Delivery&nbsp;| Channel Adapter&nbsp;| Messaging Bridge&nbsp;| Message Bus
</p>
</td></tr>
<tr>
<td class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;border: 1px solid transparent;border-top: 1px solid #FFF;border-bottom: 2px solid #FFF;padding: 0 1em;"><b><a href="Nachrichtenvermittlung" class="mw-redirect" title="Nachrichtenvermittlung">Nachrichtenvermittlung</a></b>
</td>
<td class="hlist" style="text-align: left;border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: 0 .25em;">
<p>Pipes-and-Filters&nbsp;| Message Router&nbsp;| Content-based Router&nbsp;| Message Filter&nbsp;| Dynamic Router&nbsp;| Recipient List&nbsp;| Splitter&nbsp;| Aggregator&nbsp;| Resequencer&nbsp;| Composed Message Processor&nbsp;| Scatter-Gather&nbsp;| Routing Slip&nbsp;| Process Manager&nbsp;| Message Broker
</p>
</td></tr>
<tr>
<td class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;border: 1px solid transparent;border-top: 1px solid #FFF;border-bottom: 2px solid #FFF;padding: 0 1em;"><b>Nachrichtenumwandlung</b>
</td>
<td class="hlist" style="text-align: left;border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: 0 .25em;">
<p>Message Translator&nbsp;| Envelope Wrapper&nbsp;| Content Enricher&nbsp;| Content Filter&nbsp;| Claim Check&nbsp;| Normalizer&nbsp;| Canonical Data Model
</p>
</td></tr>
<tr>
<td class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;border: 1px solid transparent;border-top: 1px solid #FFF;border-bottom: 1px solid #FFF;padding: 0 1em;"><b>Systemmanagement</b>
</td>
<td class="hlist" style="text-align: left;border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: 0 .25em;">
<p>Control Bus&nbsp;| Detour&nbsp;| Wire Tap&nbsp;| Message History&nbsp;| Message Store&nbsp;| Smart Proxy&nbsp;| Test Message&nbsp;| Channel Purger
</p>
</td></tr>

























</tbody></table></div>
</td></tr>
<tr>
<td class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;border: 1px solid transparent;border-top: 1px solid #FFF;border-bottom: 1px solid #FFF;padding: 0 1em;"><i><b>andere</b></i>
</td>
<td class="hlist" style="text-align: left;border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: 0 .25em;">
<p>Application Controller&nbsp;| <a href="Business_Delegate" title="Business Delegate">Business Delegate</a>&nbsp;| <a href="Data_Access_Object" title="Data Access Object">Data Access Object</a>&nbsp;| <a href="Dependency_Injection" title="Dependency Injection">Dependency Injection</a>&nbsp;| <a href="Extension_Interface" title="Extension Interface">Extension Interface</a>&nbsp;| <a href="Fluent_Interface" title="Fluent Interface">Fluent Interface</a>&nbsp;| <a href="Inversion_of_Control" title="Inversion of Control">Inversion of Control</a> (IoC)&nbsp;| <a href="Lock" title="Lock">Lock</a>&nbsp;| <a href="Model_View_Controller" title="Model View Controller">Model View Controller</a> (MVC)&nbsp;| <a href="Model_View_Presenter" title="Model View Presenter">Model View Presenter</a> (MVP)&nbsp;| <a href="Model_View_Update" title="Model View Update">Model View Update</a> (MVU)&nbsp;| <a href="Model_View_ViewModel" title="Model View ViewModel">Model View ViewModel</a> (MVVM)&nbsp;| Page Controller&nbsp;| <a href="Registry_(Entwurfsmuster)" title="Registry (Entwurfsmuster)">Registry</a>&nbsp;| Remote Facade&nbsp;| <a href="Repository_(Entwurfsmuster)" title="Repository (Entwurfsmuster)">Repository</a>&nbsp;| <a href="Service_Locator" class="mw-redirect" title="Service Locator">Service Locator</a>&nbsp;| Session State&nbsp;| Table Module&nbsp;| Template View&nbsp;| <a href="Threadpool" title="Threadpool">Threadpool</a>&nbsp;| Transaction Script&nbsp;| Transform View&nbsp;| Two-Step View&nbsp;| <a class="mw-selflink selflink">Value Object</a>
</p>
</td></tr>



















































</tbody></table><div class="erw-nav-leiste" style="margin:.1em 0;padding:.1em 1em;text-align:left;font-size:90%;">Siehe auch: &nbsp;<a href="Analysemuster" title="Analysemuster">Analysemuster</a>&nbsp;| <a href="Architekturmuster" title="Architekturmuster">Architekturmuster</a>&nbsp;| <a href="Integrationsmuster" title="Integrationsmuster">Integrationsmuster</a>&nbsp;| <a href="SOA-Muster" title="SOA-Muster">SOA-Muster</a> </div></div></div></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2025-02-21" href="https://de.wikipedia.org/wiki/?title=Value_Object&amp;oldid=253527869">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>

</body></html>